From f69fef8d817d92edecbb3af96728ac83a4a66351 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 3 Jan 2022 21:45:37 +0000 Subject: [PATCH] Don't use optimized GResource processing This results in use of an executable stack, which we can otherwise avoid. --- debian/libgtk-4-1.symbols.in | 3 - ...b-out-optimized-GResource-processing.patch | 57 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 debian/patches/debian/Stub-out-optimized-GResource-processing.patch diff --git a/debian/libgtk-4-1.symbols.in b/debian/libgtk-4-1.symbols.in index 86d820b395..6451c974f9 100644 --- a/debian/libgtk-4-1.symbols.in +++ b/debian/libgtk-4-1.symbols.in @@ -1,8 +1,5 @@ libgtk-@APIVER@.so.@SONAME@ @SHARED_PKG@ #MINVER# * Build-Depends-Package: libgtk-4-dev - (regex|optional)"^_binary_gtk_gtk_gresource_.*@Base$" @DEB_VERSION_UPSTREAM@ - (regex|optional)"^_gtk_.*_resource@Base$" @DEB_VERSION_UPSTREAM@ - (regex|optional)"^_gtk_resource_.*@Base$" @DEB_VERSION_UPSTREAM@ gdk_anchor_hints_get_type@Base 4.0.0 gdk_app_launch_context_get_display@Base 4.0.0 gdk_app_launch_context_get_type@Base 4.0.0 diff --git a/debian/patches/debian/Stub-out-optimized-GResource-processing.patch b/debian/patches/debian/Stub-out-optimized-GResource-processing.patch new file mode 100644 index 0000000000..846ef72b80 --- /dev/null +++ b/debian/patches/debian/Stub-out-optimized-GResource-processing.patch @@ -0,0 +1,57 @@ +From: Simon McVittie +Date: Mon, 3 Jan 2022 21:45:09 +0000 +Subject: Stub out optimized GResource processing + +This results in use of an executable stack and some unwanted symbol +exports, which we can otherwise avoid. + +Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/4598 +Forwarded: no, a better solution will need discussion with upstream +--- + demos/gtk-demo/meson.build | 3 --- + demos/widget-factory/meson.build | 3 --- + gtk/meson.build | 3 --- + 3 files changed, 9 deletions(-) + +diff --git a/demos/gtk-demo/meson.build b/demos/gtk-demo/meson.build +index 5b79dfa..d8ef4bd 100644 +--- a/demos/gtk-demo/meson.build ++++ b/demos/gtk-demo/meson.build +@@ -158,9 +158,6 @@ demos_h = custom_target('gtk4 demo header', + + objcopy_supports_add_symbol = false + objcopy = find_program('objcopy', required : false) +-if objcopy.found() +- objcopy_supports_add_symbol = run_command(objcopy, '--help').stdout().contains('--add-symbol') +-endif + + ld = find_program('ld', required : false) + +diff --git a/demos/widget-factory/meson.build b/demos/widget-factory/meson.build +index 800230b..14bdf15 100644 +--- a/demos/widget-factory/meson.build ++++ b/demos/widget-factory/meson.build +@@ -2,9 +2,6 @@ + + objcopy_supports_add_symbol = false + objcopy = find_program('objcopy', required : false) +-if objcopy.found() +- objcopy_supports_add_symbol = run_command(objcopy, '--help').stdout().contains('--add-symbol') +-endif + + ld = find_program('ld', required : false) + +diff --git a/gtk/meson.build b/gtk/meson.build +index 91aefe1..1897862 100644 +--- a/gtk/meson.build ++++ b/gtk/meson.build +@@ -866,9 +866,6 @@ endif + + objcopy_supports_add_symbol = false + objcopy = find_program('objcopy', required : false) +-if objcopy.found() +- objcopy_supports_add_symbol = run_command(objcopy, '--help').stdout().contains('--add-symbol') +-endif + + ld = find_program('ld', required : false) + diff --git a/debian/patches/series b/debian/patches/series index d02e0fdcb1..e5e9cd27c2 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,3 +3,4 @@ reftests-Allow-minor-differences-to-be-tolerated.patch debian/Disable-web-fonts-for-now.patch debian/templates-Remove-html5shiv.patch debian/Skip-some-known-failing-tests-on-mips-family-architecture.patch +debian/Stub-out-optimized-GResource-processing.patch -- 2.30.2